﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Xml;
    using System.Xml.Serialization;

    [Serializable, GeneratedCode("svcutil", "3.0.4506.2152"), DebuggerStepThrough, DesignerCategory("code"), XmlType(TypeName="Capabilities", Namespace="http://www.onvif.org/ver10/recording/wsdl")]
    public class RecordingServiceCapabilities
    {
        private XmlAttribute[] anyAttrField;
        private XmlElement[] anyField;
        private bool dynamicRecordingsField;
        private bool dynamicRecordingsFieldSpecified;
        private bool dynamicTracksField;
        private bool dynamicTracksFieldSpecified;
        private string[] encodingField;
        private float maxRateField;
        private bool maxRateFieldSpecified;
        private float maxRecordingsField;
        private bool maxRecordingsFieldSpecified;
        private float maxTotalRateField;
        private bool maxTotalRateFieldSpecified;

        [XmlAnyElement(Order=0)]
        public XmlElement[] Any
        {
            get
            {
                return this.anyField;
            }
            set
            {
                this.anyField = value;
            }
        }

        [XmlAnyAttribute]
        public XmlAttribute[] AnyAttr
        {
            get
            {
                return this.anyAttrField;
            }
            set
            {
                this.anyAttrField = value;
            }
        }

        [XmlAttribute]
        public bool DynamicRecordings
        {
            get
            {
                return this.dynamicRecordingsField;
            }
            set
            {
                this.dynamicRecordingsField = value;
            }
        }

        [XmlIgnore]
        public bool DynamicRecordingsSpecified
        {
            get
            {
                return this.dynamicRecordingsFieldSpecified;
            }
            set
            {
                this.dynamicRecordingsFieldSpecified = value;
            }
        }

        [XmlAttribute]
        public bool DynamicTracks
        {
            get
            {
                return this.dynamicTracksField;
            }
            set
            {
                this.dynamicTracksField = value;
            }
        }

        [XmlIgnore]
        public bool DynamicTracksSpecified
        {
            get
            {
                return this.dynamicTracksFieldSpecified;
            }
            set
            {
                this.dynamicTracksFieldSpecified = value;
            }
        }

        [XmlAttribute]
        public string[] Encoding
        {
            get
            {
                return this.encodingField;
            }
            set
            {
                this.encodingField = value;
            }
        }

        [XmlAttribute]
        public float MaxRate
        {
            get
            {
                return this.maxRateField;
            }
            set
            {
                this.maxRateField = value;
            }
        }

        [XmlIgnore]
        public bool MaxRateSpecified
        {
            get
            {
                return this.maxRateFieldSpecified;
            }
            set
            {
                this.maxRateFieldSpecified = value;
            }
        }

        [XmlAttribute]
        public float MaxRecordings
        {
            get
            {
                return this.maxRecordingsField;
            }
            set
            {
                this.maxRecordingsField = value;
            }
        }

        [XmlIgnore]
        public bool MaxRecordingsSpecified
        {
            get
            {
                return this.maxRecordingsFieldSpecified;
            }
            set
            {
                this.maxRecordingsFieldSpecified = value;
            }
        }

        [XmlAttribute]
        public float MaxTotalRate
        {
            get
            {
                return this.maxTotalRateField;
            }
            set
            {
                this.maxTotalRateField = value;
            }
        }

        [XmlIgnore]
        public bool MaxTotalRateSpecified
        {
            get
            {
                return this.maxTotalRateFieldSpecified;
            }
            set
            {
                this.maxTotalRateFieldSpecified = value;
            }
        }
    }
}

